Improve cross-platform compatibility and add comprehensive testing for reliable system information gathering #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The original
resource.shscript had several compatibility issues that would cause it to fail on many Unix-like systems:hostnamectlwhich is unavailable on Alpine Linux, older systems, containers, and non-systemd distributionsuptime -pandnproc --allwhich don't exist on BSD, macOS, or minimal Unix systemsSolution
This PR transforms the script into a robust, cross-platform tool with comprehensive fallback mechanisms:
Enhanced OS Detection
Cross-Platform CPU Detection
Universal Uptime Parsing
Handles both GNU (
uptime -p) and BSD-style uptime output with automatic detection and appropriate parsing.Testing & Validation
Added comprehensive test suite to ensure reliability:
test_compatibility.sh: Basic compatibility validationtest_advanced.sh: Advanced simulation of missing commands and constrained environmentscheck_compatibility.sh: User-friendly tool to validate compatibility on target systemsTests cover:
Compatibility Matrix
Documentation
COMPATIBILITY.mdwith technical details and system support matrixKey Benefits
The script now works reliably across virtually all Unix-like systems while maintaining the original simplicity and functionality.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.